// captureUtils.js
function generateSpiralCoordinates(layer) {
    if (layer === 0) {
        return [{ x: 0, y: 0 }];
    }

    const coordinates = [{ x: 0, y: 0 }]; // 初始化中心点
    let x = 0, y = 0;

    // 从第 1 层到第 layer 层生成坐标
    for (let l = 1; l <= layer; l++) {
        // 向右移动一步，进入新的一层
        y += 1;
        coordinates.push({ x, y });

        // 向上移动
        for (let i = 1; i <= 2 * l - 1; i++) {
            x += 1;
            coordinates.push({ x, y });
        }

        // 向左移动
        for (let i = 1; i <= 2 * l; i++) {
            y -= 1;
            coordinates.push({ x, y });
        }

        // 向下移动
        for (let i = 1; i <= 2 * l; i++) {
            x -= 1;
            coordinates.push({ x, y });
        }

        // 向右移动
        for (let i = 1; i <= 2 * l; i++) {
            y += 1;
            coordinates.push({ x, y });
        }
    }

    return coordinates;
}

export { generateSpiralCoordinates };
